package com.yanjiali.service;

import com.yanjiali.entity.Collect;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yanjiali.model.R;
import com.yanjiali.model.req.AddToCollectionRecordReq;
import com.yanjiali.model.req.GetCollectDataByOneDirIdReq;
import com.yanjiali.model.req.RemoveCollectionRecordsReq;
import com.yanjiali.model.resp.AddToCollectionRecordResp;
import com.yanjiali.model.resp.GetCollectDataByOneDirIdResp;
import com.yanjiali.model.resp.RemoveCollectionRecordsResp;

/**
* @Package: com.yanjiali.service
* @Author: yanjiali
* @Created: 2025/4/19 15:06
*/
public interface CollectService extends IService<Collect> {

    /**
     * 添加对应收藏记录
     * @param addToCollectionRecordReq
     * @return
     */
    R<AddToCollectionRecordResp> addToCollectionRecord(AddToCollectionRecordReq addToCollectionRecordReq);

    /**
     * 移除对应收藏记录
     * @param removeCollectionRecordsReq
     * @return
     */
    R<RemoveCollectionRecordsResp> removeCollectionRecords(RemoveCollectionRecordsReq removeCollectionRecordsReq);

    /**
     * 通过一级目录的id获取对应其下所有二级目录
     * @param getCollectDataByOneDirIdReq
     * @return
     */
    R<GetCollectDataByOneDirIdResp> obtainTheCorrespondingDataThroughThePrimaryDirectoryId(GetCollectDataByOneDirIdReq getCollectDataByOneDirIdReq);
}
